//package com.yksj.healthtalk.ui;
//import java.util.HashMap;
//import java.util.Map;
//
//import org.json.JSONArray;
//import org.json.JSONException;
//
//import sfs2x.client.core.SFSEvent;
//import android.app.AlertDialog;
//import android.app.Dialog;
//import android.content.BroadcastReceiver;
//import android.content.Context;
//import android.content.DialogInterface;
//import android.content.Intent;
//import android.content.IntentFilter;
//import android.os.Bundle;
//import android.os.Handler;
//import android.os.HandlerThread;
//import android.os.Looper;
//import android.os.Message;
//import android.os.Process;
//import android.support.v4.app.Fragment;
//import android.support.v4.app.FragmentActivity;
//import android.support.v4.app.FragmentManager;
//import android.support.v4.app.FragmentTransaction;
//import android.util.Log;
//import android.view.View;
//import android.view.View.OnClickListener;
//import android.view.animation.TranslateAnimation;
//
//import com.yksj.healthtalk.comm.RootFragment;
//import com.yksj.healthtalk.comm.RootFragment.OnBackPressedClickListener;
//import com.yksj.healthtalk.comm.SingleBtnFragmentDialog;
//import com.yksj.healthtalk.comm.UserGuideFragment;
//import com.yksj.healthtalk.net.http.AppUpdate;
//import com.yksj.healthtalk.net.http.AsyncHttpResponseHandler;
//import com.yksj.healthtalk.net.http.HttpRestClient;
//import com.yksj.healthtalk.net.socket.SmartFoxClient;
//import com.yksj.healthtalk.services.MessagePushService;
//import com.yksj.healthtalk.ui.MainSceneFragment.MainSceneItemClickListener;
//import com.yksj.healthtalk.ui.doctorstation.DoctorStationMainFragment;
//import com.yksj.healthtalk.ui.home.MyZoneFragment;
//import com.yksj.healthtalk.ui.login.UserLoginActivity;
//import com.yksj.healthtalk.utils.DialogUtils;
//import com.yksj.healthtalk.utils.SharePreUtils;
//import com.yksj.healthtalk.utils.SystemUtils;
//
///**
// * @author zhao
// */
//public class MainTabActivity extends FragmentActivity implements MainSceneItemClickListener,OnBackPressedClickListener {
//	private static final String TAG  = MainTabActivity.class.getName();
//	
//	private final int DATA_LOAD = 000;//读取数据对话框的id
//	private final int DATA_NET_ERROR = -102;
//	private final int LOGIN_ERROR = -1000;
//	private final int DIALOG_LOGING = 1000;//登陆中
//	private FragmentManager mFragmentManager;
//	private TabInfo mLastTabInfo;
//	private int mLastTabId  = -1;
//	private Looper mainLooper;
//	private MainHandler mainHandler;
//	public Map<Integer,TabInfo> mMapTabInfo;
//	// 云动画
//	TranslateAnimation couldAnimation;
//	
//	
//	final BroadcastReceiver mReceiver = new BroadcastReceiver() {
//		@Override
//		public void onReceive(Context context, Intent intent) {
//			if(intent.getAction().equals(MessagePushService.ACTION_USERINFO_LOADCOMPLETE)){
//			}else if(intent.getAction().equals(SFSEvent.LOGIN)){
//				removeDialog(DIALOG_LOGING);
//			}else if(intent.getAction().equals(SFSEvent.LOGIN_ERROR)){
//				String value = intent.getStringExtra(MessagePushService.PARAME_KEY);
//				removeDialog(DIALOG_LOGING);
//				onErrorLoginHandler(value);
//			}
//		}
//	};
//	
//	private final class MainHandler extends Handler{
//		public MainHandler(Looper looper) {
//			super(looper);
//		}
//		@Override
//		public void handleMessage(Message msg) {
//		}
//	}
//	
//	@Override
//    public void onCreate(Bundle savedInstanceState) {
//        super.onCreate(savedInstanceState);
//        setContentView(R.layout.main_layout);
//        
//        if(savedInstanceState != null){
//			mLastTabId = savedInstanceState.getInt("lastTable");
//		}
//        
//        init(savedInstanceState);
//        
//        updateApp();//检查是否为最新版本
//    }
//	
//	private void updateApp() {
//		HttpRestClient.doHttpCheckAppVersion("3.2.0", new Response());
//	}
//
//	class Response extends AsyncHttpResponseHandler {
//		@Override
//		public void onSuccess(int statusCode, String value) {
//				if (value == null||value.equals("{}")) {
//					return;
//				}else{
//					showUpdateDialog();
//				}
//		}
//	}
//	
//	/**
//	 * 显示更新
//	 */
//	private void showUpdateDialog() {
//		final Dialog dialog = new Dialog(this, R.style.translucent_dialog);
//		dialog.setContentView(R.layout.update_app);
//		
//		dialog.findViewById(R.id.cancel).setOnClickListener(new OnClickListener() {
//			@Override
//			public void onClick(View v) {
//				if(dialog!=null&&dialog.isShowing())dialog.dismiss();
//			}
//		});
//		
//		dialog.findViewById(R.id.download).setOnClickListener(new OnClickListener() {
//			@Override
//			public void onClick(View v) {
//				long sdcardSize = SystemUtils.getAvailableExternalMemorySize();
//				if (sdcardSize > 25 * 1024 * 1024) {
//					new AppUpdate(MainTabActivity.this).donwloadApp(getString(R.string.app_download_url));
//					if(dialog!=null&&dialog.isShowing())dialog.dismiss();
//				} else {
//					DialogUtils.getErrorDialog(MainTabActivity.this,getString(R.string.jiankangliao),getString(R.string.sdcard_not_enough))
//							.show();
//				}
//			}
//		});
//		dialog.show();
//	}
//	
//	@Override
//	protected void onStart() {
//		super.onStart();
//		onRegisterReceiver();
//	}
//    
//	@Override
//	protected void onStop() {
//		unregisterReceiver(mReceiver);
//		super.onStop();
//	}
//	
//	/**
//	 * 重新登陆
//	 */
//	@Override
//	protected void onNewIntent(Intent intent) {
//		super.onNewIntent(intent);
//		
//		updateApp();//检查是否为最新版本
//		
//		if(intent.hasExtra("notifi"))return;//通知跳转
//		
//		setIntent(intent);
//		
//		mLastTabId = -1;
//		FragmentManager fm = getSupportFragmentManager();
//		FragmentTransaction ft = fm.beginTransaction();
//		Fragment fragment = fm.findFragmentById(R.id.main_scene);
//		Fragment fragment1 = fm.findFragmentById(android.R.id.content);
//		if(fragment != null)ft.remove(fragment);
//		if(fragment1 != null)ft.remove(fragment1);
//		ft.commitAllowingStateLoss();
//		mMapTabInfo.clear();
//		
//		init(null);
//	}
//	
//	@Override
//	protected void onSaveInstanceState(Bundle outState) {
//		super.onSaveInstanceState(outState);
//		outState.putInt("lastTable",mLastTabId);
//		
//	}
//	
//	@Override
//	protected void onDestroy() {
//		super.onDestroy();
//		if(mainLooper != null)mainLooper.quit();
//	}
//	
//	private void onRegisterReceiver(){
//		IntentFilter intentFilter = new IntentFilter();
//		intentFilter.addAction(SFSEvent.CONNECTION);
//		intentFilter.addAction(SFSEvent.LOGIN_ERROR);
//		intentFilter.addAction(MessagePushService.ACTION_USERINFO_LOADCOMPLETE);
//		intentFilter.addAction(SFSEvent.LOGIN);
//		registerReceiver(mReceiver,intentFilter);
//	}
//	
//	/**
//	 * 登陆操作
//	 */
//	private void onLoginHandle(){
//		boolean isAutoLogin = getIntent().getBooleanExtra("type",false);
//		if(isAutoLogin){
////			SmartFoxClient.getSmartFoxClient().setUserName("2000004");
////			SmartFoxClient.getSmartFoxClient().setUserPas("111111");
//			Intent intent = new Intent(this,MessagePushService.class);
//			intent.putExtra("param",true);
//			startService(intent);
//			showDialog(DIALOG_LOGING);
//		}
//	}
//	
//	/**
//	 * 登陆错误
//	 */
//	private void onErrorLoginHandler(String value){
//		showDialog(LOGIN_ERROR);
//	}
//	
//	private void init(Bundle savedInstanceState){
//		mFragmentManager = getSupportFragmentManager();
//		initTable();
//		if(mainHandler == null){
//			HandlerThread handlerThread = new HandlerThread("mainhandler");
//			handlerThread.start();
//			mainLooper = handlerThread.getLooper();
//			mainHandler = new MainHandler(mainLooper);
//		}
//		
//		if(mLastTabId == -1 && SharePreUtils.fatchLockState()){
//			onTabChanged(R.id.doctor_station);
//		}else{
//			initUserGuid();
//			onMainSceneUnload(false);
//		}
////        onLoginHandle();
//	}
//	
//	/**
//	 * 初始化tab
//	 */
//	private void initTable(){
//		mMapTabInfo = new HashMap<Integer,TabInfo>();
//		mMapTabInfo.put(0, new TabInfo("mainscene", "mainscene",new Bundle(),MainSceneFragment.class.getName()));
//		mMapTabInfo.put(R.id.home_right_btn2,new TabInfo("home_help", "home_help",new Bundle(),AreaListSelectFragment.class.getName()));
//		mMapTabInfo.put(R.id.doctor_station,new TabInfo("but9", "setting9",new Bundle(),DoctorStationMainFragment.class.getName()));
//		mMapTabInfo.put(R.id.home_btn,new TabInfo("but3", "but1",new Bundle(),MyZoneFragment.class.getName()));//MyZoneFragment
//	}
//	
//	/**
//	 * 
//	 * 第一次登陆出产品介绍页
//	 * 
//	 */
//	private void initUserGuid(){
//		if(SharePreUtils.isFirstLogin()){
//			UserGuideFragment fragment = new UserGuideFragment();
//			Bundle bundle = new Bundle();
//			bundle.putInt("type",1);
//			fragment.setArguments(bundle);
//			FragmentTransaction ft = mFragmentManager.beginTransaction();
//			ft.replace(android.R.id.content,fragment);
//			ft.commit();
//		}
//	}
//	/**
//	 * 播放地图块动画
//	 * @param isUnload
//	 */
//	private void onMainSceneUnload(boolean isUnload){
//		FragmentTransaction transaction = mFragmentManager.beginTransaction();
//		transaction.setCustomAnimations(R.anim.zoom_push_out,R.anim.zoom_push_in);
//		TabInfo tabInfo = mMapTabInfo.get(0);
//		if(isUnload){
//			if(tabInfo.fragment == null)return;
//			transaction.detach(tabInfo.fragment);
//		}else{
//			if(tabInfo.fragment == null){
//				createTabRootFragment(tabInfo);
//				transaction.replace(R.id.main_scene,tabInfo.fragment);
//			}else{
//				transaction.attach(tabInfo.fragment);
//			}
//		}
//		transaction.commit();
//	}
//	
//	/**
//	 * 改变tabs
//	 * @param tabId
//	 */
//	public void onTabChanged(int tabId){
//		if(mLastTabId != tabId){
//			TabInfo tabInfo = mMapTabInfo.get(tabId);
//			if(tabInfo == null)return;
//			FragmentTransaction transaction = mFragmentManager.beginTransaction();
//			transaction.setCustomAnimations(R.anim.slide_in_left,R.anim.slide_out_right);
//			if(mLastTabInfo != null){
//				transaction.detach(mLastTabInfo.fragment);
//			}
//			if(tabInfo.fragment == null){
//				createTabRootFragment(tabInfo);
//				//add将触发onattach
//				transaction.add(android.R.id.content,tabInfo.fragment);
//			}else{
//				transaction.attach(tabInfo.fragment);
//			}
//			transaction.commit();
//			onMainSceneUnload(true);
//			mLastTabId = tabId;
//			mLastTabInfo = tabInfo;
//		}
//	}
//	
//	private Fragment createTabRootFragment(TabInfo tabInfo){
//		if(tabInfo.fragment != null)return tabInfo.fragment;
//		Fragment fragment = Fragment.instantiate(this,tabInfo.className,tabInfo.mBundle);
//		tabInfo.fragment = fragment;
//		return fragment;
//	}
//    
//	/**
//	 * 获取当前的fragment
//	 * @return
//	 */
//	private RootFragment getCurrentFragment(){
//		return (RootFragment)mFragmentManager.findFragmentById(android.R.id.content);
//	}
//	
//	@Override
//	protected Dialog onCreateDialog(int id) {
//		Dialog dialog;
//		switch (id) {
//		case DIALOG_LOGING:
//			dialog = DialogUtils.getLoadingDialog(this,"登陆中...");
//		return dialog;
//		case DATA_LOAD:
//			dialog =  DialogUtils.getLoadingDialog(this, getString(R.string.dataload));
//			return dialog;
//		case DATA_NET_ERROR://网络出现问题
//			Dialog dialog2 = DialogUtils.getErrorDialog(this,getString(R.string.getway_error),"无法连接服务器~");
//			dialog2.setOnDismissListener(new DialogInterface.OnDismissListener() {
//				@Override
//				public void onDismiss(DialogInterface dialog) {
//					finish();
//					android.os.Process.killProcess(Process.myPid());
//				}
//			}); 
//			return dialog2;
//		case LOGIN_ERROR://登陆错误
//			Dialog dialog3 = DialogUtils.getErrorDialog(this,"登陆错误","用户名或者密码错误");
//			dialog3.setOnDismissListener(new DialogInterface.OnDismissListener() {
//				@Override
//				public void onDismiss(DialogInterface dialog) {
//					finish();
//					android.os.Process.killProcess(Process.myPid());
//				}
//			});
//			return dialog3;
//		}
//		return super.onCreateDialog(id);
//	}
//	
//	/**
//	 * 主场景添加
//	 */
//	@Override
//	public void onScenceItemClick(View view) {
//		onTabChanged(view.getId());
//	}
//	
//	/**
//	 *返回处理
//	 */
//	public void onBackPressed(){
//		Log.d(TAG,"onBackPressed()");
//		if(mLastTabId != -1 && getCurrentFragment().popBackStack()){
//			Log.d(TAG,"onBackPressed() return");
//			return;
//		}else{
//			Log.d(TAG,"onBackPressed() onBackClick");
//			onBackClick(null);
//		}
//	}
//	
//	/**
//	 * 区域列表点击
//	 */
//	@Override
//	public void onAreaItemClick(JSONArray array,String titlePicPath) {
//		MainSceneFragment sceneFragment = (MainSceneFragment)mMapTabInfo.get(0).fragment;
//		sceneFragment.updateFirstPage(array,titlePicPath);
//		onBackClick(null);
//	}
//	
//	/**
//	 * 子视图点击返回按钮
//	 */
//	@Override
//	public void onBackClick(View view) {
//		if(view != null){
//			int id = view.getId();
//			if(id == R.id.login_btn){
//				showDialog(DIALOG_LOGING);
//				/*if(SmartFoxClient.isConnected()){
//					SmartFoxClient.sendRetLoginReq();
//				}else{
//					SmartFoxClient.sendConnection();
//				}*/
//				return;
//			}else if(id == R.id.logout_btn){
////				Intent intent2 = new Intent(this,MessagePushService.class);
////				stopService(intent2);
//				Intent intent = new Intent(this,UserLoginActivity.class);
//				startActivity(intent);
//				finish();
//			}
//		}
//		
//		//返回到主界面
//		if(mLastTabId != -1){
//			FragmentTransaction fragmentTransaction = mFragmentManager.beginTransaction();
//			fragmentTransaction.setCustomAnimations(R.anim.slide_in_left,R.anim.slide_out_right);
//			Fragment fragment = mFragmentManager.findFragmentById(android.R.id.content);
//			fragmentTransaction.detach(fragment);
//			fragmentTransaction.commit();
//			mLastTabInfo = null;
//			mLastTabId = -1;
//			onMainSceneUnload(false);
//		//返回到桌面	
//		}else{
//			Intent intent = new Intent();
//			intent.setAction(Intent.ACTION_MAIN);
//			intent.addCategory(Intent.CATEGORY_HOME);
//			intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//			startActivity(intent);
//		}
//	}
//	
//	public static class TabInfo{
//		private String tag;
//		private String lable;
//		private String className;
//		protected Fragment fragment;
//		protected Bundle mBundle;
//		TabInfo(String tag,String lable,Bundle bundle,String className){
//			this.tag = tag;
//			this.lable = lable;
//			this.className = className;
//			this.mBundle = bundle;
//		}
//	}
//	
//}
